package ar.edu.uade.centroDistribucion.facade;

import java.util.List;

import javax.ejb.Remote;
import javax.jws.WebMethod;
import javax.jws.WebService;
import ar.edu.uade.centroDistribucion.valueObjects.EnvTVO;
import ar.edu.uade.centroDistribucion.valueObjects.EnvioPendienteResultadoVO;
import ar.edu.uade.centroDistribucion.valueObjects.NuevoArticuloVO;
import ar.edu.uade.centroDistribucion.valueObjects.RepAFVO;
import ar.edu.uade.centroDistribucion.valueObjects.SolDistVO;
import ar.edu.uade.centroDistribucion.valueObjects.SolFabrVO;
import ar.edu.uade.centroDistribucion.valueObjects.VistaEnvTPendienteVO;
import ar.edu.uade.centroDistribucion.valueObjects.VistaEnvTVO;
import ar.edu.uade.centroDistribucion.valueObjects.VistaNuevoArticuloVO;
import ar.edu.uade.centroDistribucion.valueObjects.VistaRepAFVO;
import ar.edu.uade.centroDistribucion.valueObjects.VistaSolDistVO;
import ar.edu.uade.centroDistribucion.valueObjects.VistaSolFabrVO;

//FACADE SERVER
@Remote
public interface FacadeCentroDistribucion {
	
	//Nvo Art
	public VistaNuevoArticuloVO ProcesarArticuloNuevo(NuevoArticuloVO articuloVO);
	
	//SOLDIST
	VistaSolDistVO ProcesarSolicitudDistribucion(SolDistVO solDist);
	
	//SOLFABR
	List<VistaSolFabrVO> IniciarSolicitudFabricacion();
	public void Generar(List<SolFabrVO> solFabrs);
	
	//ENVT
	List<VistaEnvTVO> IniciarEnvioATienda();
	void GenerarEnvioATienda(EnvTVO envTVO,int tiendaId);
	List<VistaEnvTPendienteVO> IniciarEnvioPendientes();
	void ProcesarEnviosPendientes(List<EnvioPendienteResultadoVO> lista);
	
	//REPAF
	List<VistaRepAFVO> ReponerArticulos(RepAFVO repaf);
		
}
